
<!DOCTYPE html>
<html lang="en">
    <head>
        <title>vue.js</title>
        <meta charset="utf-8">
        <meta name="description" content="Vue.js - Intuitive, Fast and Composable MVVM for building interactive interfaces.">
        <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no">
        <link href='http://fonts.googleapis.com/css?family=Source+Sans+Pro:400,600|Lato|Inconsolata' rel='stylesheet' type='text/css'>
        <link rel="icon" href="/images/logo.png" type="image/x-icon">
        <script>
            window.PAGE_TYPE = ""
        </script>
        <link rel="stylesheet" href="/css/page.css" type="text/css">
        <script>
  (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
  (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
  m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
  })(window,document,'script','//www.google-analytics.com/analytics.js','ga');

  ga('create', 'UA-46852172-1', 'vuejs.org');
  ga('send', 'pageview');
</script>
        <script src="/js/vue.min.js"></script><script src="https://cdn.jsdelivr.net/gh/shentao/vuejs-outdated-docs-modal@v1.3/prompt.min.js"></script>
    </head>
    <body>
        <div id="mobile-bar">
            <a class="menu-button"></a>
            <a class="logo" href="/"></a>
        </div>
        
            <div id="header">
    <a id="logo" href="/">
        <img src="/images/logo.png">
        <span>Vue.js</span>
    </a>
    <ul id="nav">
        <li><a href="/guide/" class="nav-link">Guide</a></li>
<li><a href="/api/" class="nav-link">API Reference</a></li>
<li><a href="/examples/" class="nav-link">Examples</a></li>
<li><a href="/blog/" class="nav-link">Blog</a></li>
<li><a href="https://github.com/yyx990803/vue" target="_blank" class="nav-link">GitHub</a></li>
    </ul>
</div>
            <div id="main">
                
                    <script>
    // G+ button
    ;(function() {
        var po = document.createElement('script'); po.type = 'text/javascript'; po.async = true;
        po.src = 'https://apis.google.com/js/plusone.js';
        var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(po, s);
    })();
</script>

<div id="hero">
    <a id="cn-link" href="http://cn.vuejs.org">中文版</a>
    <div class="inner">
        <ul id="nav">
            <li><a href="/guide/" class="nav-link">Guide</a></li>
            <li><a href="/api/" class="nav-link">API Reference</a></li>
            <li><a href="/examples/" class="nav-link">Examples</a></li>
            <li><a href="/blog/" class="nav-link">Blog</a></li>
        </ul>
        <img id="logo" src="/images/logo.png">
        <h1>Vue.js</h1>
        <p class="sub">MVVM Made Simple</p>
        <p class="desc">Vue.js is a library for building interactive web interfaces. <br>It provides data-reactive components with a simple and flexible API.</p>
        <p class="buttons">
            <a href="/guide/installation.html" class="button">Get Vue.js v0.11.10</a>
            <a href="https://github.com/yyx990803/vue" target="_blank" class="button">Source on GitHub</a>
        </p>
        <ul id="social">
            <li><a href="https://twitter.com/share" class="twitter-share-button" data-lang="en" data-url="http://vuejs.org" data-text="Vue.js - MVVM made simple" data-via="vuejs">Tweet</a><script>!function(d,s,id){var js,fjs=d.getElementsByTagName(s)[0];if(!d.getElementById(id)){js=d.createElement(s);js.id=id;js.src="https://platform.twitter.com/widgets.js";fjs.parentNode.insertBefore(js,fjs);}}(document,"script","twitter-wjs");</script></li>
            <li><iframe src="http://ghbtns.com/github-btn.html?user=yyx990803&repo=vue&type=watch&count=true"
        allowtransparency="true" frameborder="0" scrolling="0" width="100" height="20"></iframe></li>
            <li><g:plusone href="http://vuejs.org" size="medium"></g:plusone></li>
        </ul>
    </div>
    <div class="down"><img src="/images/down.png"></div>
</div>

<div id="example">
    <h2>10 Second Example</h2>
    <div class="block">
        <figure class="highlight lang-html"><table><tbody><tr><td class="gutter"><pre>1
2
3
4
</pre></td><td class="code"><pre><span class="tag">&lt;<span class="title">div</span> <span class="attribute">id</span>=<span class="value">"demo"</span>&gt;</span>
    <span class="tag">&lt;<span class="title">p</span>&gt;</span>{{message}}<span class="tag">&lt;/<span class="title">p</span>&gt;</span>
    <span class="tag">&lt;<span class="title">input</span> <span class="attribute">v-model</span>=<span class="value">"message"</span>&gt;</span>
<span class="tag">&lt;/<span class="title">div</span>&gt;</span>
</pre></td></tr></tbody></table></figure>
    </div>

    <div class="sign">+</div>

    <div class="block">
        <figure class="highlight lang-js"><table><tbody><tr><td class="gutter"><pre>1
2
3
4
5
6
</pre></td><td class="code"><pre><span class="keyword">var</span> demo = <span class="keyword">new</span> Vue({
    el: <span class="string">'#demo'</span>,
    data: {
        message: <span class="string">'Hello Vue.js!'</span>
    }
})
</pre></td></tr></tbody></table></figure>
    </div>

    <div class="sign">=</div>

    <div class="block result">
        <div id="demo">
            <p>{{message}}</p>
            <input v-model="message">
        </div>
        <script>
        var demo = new Vue({
            el: '#demo',
            data: {
                message: 'Hello Vue.js!'
            }
        })
        </script>
    </div>
</div>
<div id="features">
    <div class="feats">
        <div class="feat">
            <h2><span class="icon simple"></span>Simple</h2>
            <p>Write some HTML, grab some JSON, create a Vue instance, that's it.</p>
        </div>
        <div class="feat">
            <h2><span class="icon fast"></span>Fast</h2>
            <p>Precise and efficient async batch DOM updates.</p>
        </div>
        <div class="feat">
            <h2><span class="icon composable"></span>Composable</h2>
            <p>Compose your application with decoupled, reusable components.</p>
        </div>
        <div class="feat">
            <h2><span class="icon compact"></span>Compact</h2>
            <p>~19kb min+gzip, no dependency.</p>
        </div>
        <div class="feat">
            <h2><span class="icon powerful"></span>Powerful</h2>
            <p>Expressions & computed properties with transparent dependency tracking.</p>
        </div>
        <div class="feat">
            <h2><span class="icon module"></span>Module Friendly</h2>
            <p>Install via NPM, Bower or Duo - leverage your favorite eco system!</p>
        </div>
    </div>
</div>
<div id="why">
    <h2>You should try it out if you like:</h2>
    <ul>
        <li>Extendable Data bindings</li>
        <li>Plain JS object models</li>
        <li>API that simply makes sense</li>
        <li>Build UI by composing components</li>
        <li>Mix &amp; matching small libraries</li>
    </ul>
</div>
<div id="footer">
    <a class="start" href="/guide/index.html">Get Started</a>
    <p>Released under the <a href="http://opensource.org/licenses/MIT" target="_blank">MIT License</a></p>
    <p>Copyright (c) 2015 <a href="http://evanyou.me" target="_blank">Evan You</a></p>
</div>
                
            </div>
            <script src="/js/smooth-scroll.min.js"></script>
            <script src="/js/common.js"></script>
        
    </body>
</html>